home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 1.iso / toolbox / FAQs / SGIfaqs / SGI-Inventor-faq < prev    next >
Encoding:
Text File  |  1996-11-11  |  17.6 KB  |  443 lines

  1.  
  2. From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  3. Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
  4. Subject: SGI inventor Frequently Asked Questions (FAQ)
  5. Supersedes: <inventor_786697207@viz.tamu.edu>
  6. Followup-To: comp.sys.sgi.misc
  7. Date: 20 Dec 1994 06:57:30 GMT
  8. Organization: Visualization Lab, Texas A&M University
  9. Lines: 424
  10. Approved: news-answers-request@mit.edu
  11. Expires: 17 Jan 1995 07:00:07 GMT
  12. Message-ID: <inventor_787906807@viz.tamu.edu>
  13. Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group)
  14. NNTP-Posting-Host: viz.tamu.edu
  15. Originator: sgi-faq@viz
  16.  
  17. Archive-name: sgi/faq/inventor
  18. Last-modified: Sat Dec 17 12:14:17 CST 1994
  19.  
  20.     SGI inventor Frequently Asked Questions (FAQ)
  21.  
  22. This is one of the Silicon Graphics FAQ series, which consists of:
  23.  
  24.     SGI admin FAQ - IRIX system administration
  25.     SGI apps FAQ - Applications and miscellaneous programming
  26.     SGI audio FAQ - Audio applications and programming
  27.     SGI graphics FAQ - Graphics and user environment customization
  28.     SGI hardware FAQ - Hardware
  29.     SGI impressario FAQ - IRIS Impressario
  30.     SGI inventor FAQ - IRIS Inventor
  31.     SGI misc FAQ - Introduction & miscellaneous information
  32.     SGI movie FAQ - Movies
  33.     SGI performer FAQ - IRIS Performer
  34.     SGI pointer FAQ - Pointer to the other FAQs
  35.  
  36. Read the misc FAQ for information about the FAQs themselves.  Each FAQ
  37. is posted to comp.sys.sgi.misc and to the news.answers and comp.answers
  38. newsgroups (whose purpose is to store FAQs) twice per month.  If you
  39. can't find one of the FAQs with your news program, you can get it by
  40. anonymous FTP from one of these sites:
  41.  
  42.     viz.tamu.edu:/pub/sgi/faq/
  43.     rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/
  44.     ftp.uu.net:/usenet/news.answers/sgi/faq/
  45.  
  46. Note that rtfm.mit.edu is home to many other FAQs and informational
  47. documents, and is a good place to look if you can't find an answer here.
  48. If you can't use FTP, send mail to mail-server@rtfm.mit.edu with the
  49. word 'help' on a line by itself in the text, and it will send you a
  50. document describing how to get files from rtfm.mit.edu by mail. Send the
  51. command 'send usenet/news.answers/sgi/faq/misc' to get the SGI misc FAQ,
  52. and similarly for the other FAQs. Finally, the FAQs are on the World
  53. Wide Web at
  54.  
  55.     http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html
  56.  
  57. The SGI FAQs are freely distributable and we encourage wide circulation.
  58. You MUST keep the FAQs intact, including headers and this notice.  The
  59. contents are accurate as far as we know, but the usual disclaimers
  60. apply. (In particular, copies of the SGI FAQs published on paper or
  61. CD-ROM are certain to be out of date!) Please send additions and changes
  62. to sgi-faq@viz.tamu.edu.
  63.  
  64. Topics covered in this FAQ:
  65. ---------------------------
  66.    -1- What is Open Inventor?
  67.    -2- What is IRIS Inventor?
  68.    -3- Is Inventor a format for 3D data?
  69.    -4- Can I use Inventor to create 3D objects?
  70.    -5- Is Inventor a user interface toolkit?
  71.    -6- Is there a performance cost using a software layer on top of GL?
  72.    -7- Does Inventor require C++?
  73.    -8- Does Inventor work with the GNU C++ compiler?
  74.    -9- Does Inventor have a Fortran or Ada API?
  75.   -10- Where can I get detailed, technical information on Inventor?
  76.   -11- How much does Inventor cost?
  77.   -12- How can I order Inventor software and/or documentation?
  78.   -13- How can I learn Inventor Programming?
  79.   -14- What version of Open Inventor runs on which version of IRIX?
  80.   -15- Why isn't Open Inventor available on the VGX/PI/GTX or GT?
  81.   -16- What new features are in Open Inventor that weren't in IRIS
  82.        Inventor?
  83.   -17- Will my IRIS Inventor programs stop working if I install Open
  84.        Inventor?
  85.   -18- How hard is it to port from IRIS Inventor to Open Inventor?
  86.   -19- When I compile my Inventor program, I get an error in
  87.        SoDebugError.h.
  88.   -20- What version of IRIS Inventor runs on which version of IRIX?
  89.   -21- Will I be automatically upgraded to Open Inventor if I have IRIS
  90.        Inventor?
  91.   -22- Why do I get errors compiling the Inventor sample programs?
  92.  
  93. ----------------------------------------------------------------------
  94.  
  95. Subject:    -1- What is Open Inventor?
  96. Date: 30 Apr 94 15:45:00 CDT
  97.  
  98.   Open Inventor is an object-oriented 3D toolkit offering a
  99.   comprehensive solution to interactive graphics programming problems.
  100.   It presents a programming model based on a 3D scene database that
  101.   dramatically simplifies graphics programming. It includes a rich set
  102.   of objects such as cubes, polygons, text, materials, cameras, lights,
  103.   trackballs, handle boxes, 3D viewers, and editors that speed up your
  104.   programming time and extend your 3D programming capabilities.
  105.  
  106.   Open Inventor: 
  107.       o is built on top of OpenGL 
  108.       o defines a standard file format for 3D data interchange 
  109.       o introduces a simple event model for 3D interaction 
  110.       o provides animation objects called Engines 
  111.       o provides high performance object picking 
  112.       o is window system and platform independent 
  113.       o supports PostScript printing 
  114.       o encourages programmers to create new customized objects 
  115.       o is fun to use 
  116.  
  117. ------------------------------
  118.  
  119. Subject:    -2- What is IRIS Inventor?
  120. Date: 30 Apr 94 15:45:00 CDT
  121.  
  122.   IRIS Inventor was the first release of Inventor; it is also known as
  123.   Inventor 1.0 (Open Inventor is Inventor 2.0). It is built on top of
  124.   IRIS GL rather than OpenGL, and has fewer features.
  125.  
  126. ------------------------------
  127.  
  128. Subject:    -3- Is Inventor a format for 3D data?
  129. Date: 30 Apr 94 15:45:00 CDT
  130.  
  131.   Inventor defines a powerful, extensible format for 3D objects and
  132.   scenes.  The Inventor format is the standard for 3D objects on
  133.   Silicon Graphics machines, and may become the standard for all
  134.   machines.
  135.  
  136.   However, Inventor is more than a 3D object file format; it is a
  137.   complete toolkit for writing interactive, 3D applications.
  138.  
  139. ------------------------------
  140.  
  141. Subject:    -4- Can I use Inventor to create 3D objects?
  142. Date: 30 Apr 94 15:45:00 CDT
  143.  
  144.   Inventor is for programmers writing 3D applications, and does not
  145.   directly provide any way for users to create 3D objects. Several
  146.   Inventor applications have been written that create 3D objects.
  147.  
  148.   Showcase 3.0, which is bundled with IRIX, is a fairly simple
  149.   example.  A much more sophisticated modeller called Movieola built on
  150.   top of Inventor is available from Radiance Software International.
  151.  
  152. ------------------------------
  153.  
  154. Subject:    -5- Is Inventor a user interface toolkit?
  155. Date: 30 Apr 94 15:45:00 CDT
  156.  
  157.   Yes and no. Inventor contains mostly 3D objects. There is little in
  158.   the way of conventional user interface objects such as buttons,
  159.   dialogs, and menus.  However, Inventor includes a full-fledged event
  160.   model, a framework designed for 2D or 3D user interaction, and some
  161.   manipulator objects for 3D user interface building. Note that the
  162.   Inventor Xt Component and Utility Library includes some traditional
  163.   2D user interface widgets.
  164.  
  165. ------------------------------
  166.  
  167. Subject:    -6- Is there a performance cost using a software layer on
  168.                 top of GL?
  169. Date: 30 Apr 94 15:45:00 CDT
  170.  
  171.   Sometimes. Note that few GL programs achieve peak graphics
  172.   performance. This is because most applications have natural
  173.   application overhead, and also because many programmers lack a
  174.   thorough understanding of the details and eccentricities of GL. If
  175.   you are writing a simple display-only, immediate-mode GL program,
  176.   then it will run faster using straight GL, but not much. However, if
  177.   your program has scene traversal, interactivity, picking, bounding
  178.   box calculations, and other object space tasks, then Inventor will
  179.   perform better for you. This is because Inventor is specially tuned
  180.   to make optimal use of GL on each SGI machine. Furthermore, Inventor
  181.   supports render caching which results in peak GL performance in most
  182.   cases.
  183.  
  184.   We have found that in many cases, Inventor programs run FASTER than
  185.   the original GL program, and that the programmer productivity
  186.   increases easily outweigh the overhead of the toolkit.
  187.  
  188. ------------------------------
  189.  
  190. Subject:    -7- Does Inventor require C++?
  191. Date: 30 Apr 94 15:45:00 CDT
  192.  
  193.   No. You can use the C API and never see or use C++. However,
  194.   subclassing to extend the toolkit does require C++.
  195.  
  196. ------------------------------
  197.  
  198. Subject:    -8- Does Inventor work with the GNU C++ compiler?
  199. Date: 30 Apr 94 15:45:00 CDT
  200.  
  201.   No, Inventor requires SGI's C++ compiler. The GNU C++ compiler and
  202.   SGI's C++ compiler produce incompatible code, and Silicon Graphics
  203.   does not ship an Inventor library compatible with GNU C++.
  204.  
  205. ------------------------------
  206.  
  207. Subject:    -9- Does Inventor have a Fortran or Ada API?
  208. Date: 30 Apr 94 15:45:00 CDT
  209.  
  210.   No. 
  211.  
  212. ------------------------------
  213.  
  214. Subject:   -10- Where can I get detailed, technical information on
  215.                 Inventor?
  216. Date: 30 Apr 94 15:45:00 CDT
  217.  
  218.   The Inventor Mentor, written by Josie Wernecke, is published by
  219.   Addison-Wesley and is available in technical bookstores (ISBN
  220.   0-201-62495-8).
  221.  
  222. ------------------------------
  223.  
  224. Subject:   -11- How much does Inventor cost?
  225. Date: 30 Apr 94 15:45:00 CDT
  226.  
  227.   If you want to write Inventor applications on SGI machines, you need
  228.   the Inventor developer's option. This option costs $995 for the Open
  229.   Inventor release and $495 for the IRIS Inventor releases. There are
  230.   no royalties for distributing applications based on Inventor.
  231.  
  232.   Every SGI machine is shipped with the libraries needed to run
  233.   Inventor applications (they are part of the inventor_eoe installation
  234.   subsystem); users that want to run Inventor applications on SGI
  235.   machines do not need to pay anything extra.
  236.  
  237. ------------------------------
  238.  
  239. Subject:   -12- How can I order Inventor software and/or documentation?
  240. Date: 30 Apr 94 15:45:00 CDT
  241.  
  242.   Call your local SGI sales representative or 1-800-800-7441 to order.
  243.  
  244. ------------------------------
  245.  
  246. Subject:   -13- How can I learn Inventor Programming?
  247. Date: 30 Apr 94 15:45:00 CDT
  248.  
  249.   SGI Technical Education offers a week-long course in Inventor
  250.   Programming.  Call 1-800-800-4SGI to sign up.
  251.  
  252. ------------------------------
  253.  
  254. Subject:   -14- What version of Open Inventor runs on which version of
  255.                 IRIX?
  256. Date: 30 Apr 94 15:45:00 CDT
  257.  
  258.   Inventor 2.0 runs on IRIX 5.2 and higher only. 
  259.  
  260. ------------------------------
  261.  
  262. Subject:   -15- Why isn't Open Inventor available on the VGX/PI/GTX or
  263.                 GT?
  264. Date: 30 Apr 94 15:45:00 CDT
  265.  
  266.   Open Inventor requires OpenGL, which is not currently available on
  267.   older SGI machines.
  268.  
  269. ------------------------------
  270.  
  271. Subject:   -16- What new features are in Open Inventor that weren't in
  272.                 IRIS Inventor?
  273. Date: 30 Apr 94 15:45:00 CDT
  274.  
  275.   Some of the main features that are new with Open Inventor are: 
  276.  
  277.      Open Inventor Licensing
  278.     Open Inventor 2.0 represents the first release of Inventor that
  279.     is licensed to third parties to run on other platforms (e.g.,
  280.     Sun, HP).
  281.      The Inventor Mentor and The Inventor Toolmaker
  282.     Since Open Inventor has been licensed to run on other
  283.     platforms, the programming guides have been published and
  284.     distributed by Addison-Wesley Publishing Company. The books are
  285.     typically available through bookstores that offer a good
  286.     technical book selection. The Inventor Mentor is volume I of
  287.     the programming guide and describes the fundamentals of
  288.     Inventor programming (ISBN 0-201-62495-8). The Inventor
  289.     Toolmaker is volume II and provides advanced information for
  290.     programmers who want to extend Inventor.
  291.      Automatic caching
  292.     Open Inventor supports intelligent, automatic caching on the
  293.     parts of the database that are not changing. Previously,
  294.     caching was either `on' or `off' (set at SoSeparator nodes).
  295.     Inventor 2.0 supports a third setting, `auto'. This
  296.     SIGNIFICANTLY improves performance and simplifies programming.
  297.      Error handling
  298.     Inventor now supports a formal error handling system. Note that
  299.     the API was not affected by this change. All Inventor error
  300.     messages are now posted to an SoError class. The application
  301.     can supply its own error handlers, thus making it possible to
  302.     route error messages to dialogs, as well as stderr or stdout.
  303.     All handlers are called by the SoError::handleError() method.
  304.     When debugging, you can set a breakpoint on this method to stop
  305.     right before an error is handled.
  306.      Geometry primitives and SoCallbackAction
  307.     A new feature has been added to the generic Inventor traversal
  308.     action, SoCallbackAction, that allows for shapes to return
  309.     primitives (triangles, lines, points, normals, texture coords,
  310.     etc.) describing the object.
  311.      Naming
  312.     Nodes, paths, and engines can have names (strings) associated
  313.     with them. There are methods on SoBase::setName() and getName()
  314.     to set/get names. To search for objects by name, see
  315.     SoNode::getByName(), SoPath::getByName(), and
  316.     SoEngine::getByName(). Also, the SoSearchAction can now search
  317.     based on the name.
  318.      OpenGL rendering
  319.     Open Inventor 2.0 uses OpenGL for all rendering; there are no
  320.     calls to Iris GL in Inventor 2.0. If you have written derived
  321.     node classes in 1.0, the Iris GL code must be re-written to
  322.     OpenGL.
  323.      Printing
  324.     Printing has been completely reimplemented using OpenGL
  325.     rendering to an off-screen image. All rendering features can
  326.     now be printed (e.g. textures and transparency).
  327.      Render Culling
  328.     Inventor now supports object level culling to the viewport.
  329.     Culling, like caching, is controlled by SoSeparators.
  330.      Unknown nodes
  331.     Inventor 2.0 reads unrecognized node classes from file and
  332.     attempts to use them. When an unknown class is read, Inventor
  333.     will search for an accompanying DSO file and use it, (uses
  334.     environment variable LD_LIBRARY_PATH to search for file
  335.     classname.so) If none is found, an SoUnknownNode or
  336.     SoUnknownEngine is created and used instead.
  337.  
  338.     Inventor 2.0 also supports a special option for nodes called
  339.     alternateRep. It can store a scene graph composed of standard
  340.     Inventor nodes which will be rendered as a stand-in for your
  341.     unrecognized node. During writing, the node or engine is
  342.     written back out. Note that this mechanism works only with
  343.     Inventor 2.0 files; unrecognized nodes in an Inventor 1.0 file
  344.     will still generate a read error. This mechanism allows user
  345.     subclassed nodes to be exportable, renderable, and re- usable.
  346.      SoEngine
  347.     A new class of objects used for animation and behavior.
  348.     Engines are lightweight objects that are connected between
  349.     nodes, the clock, and other engines to form interesting
  350.     behaviorial objects (e.g. spinning windmill). Engines can be
  351.     written to file along with the 3d scene.
  352.  
  353. ------------------------------
  354.  
  355. Subject:   -17- Will my IRIS Inventor programs stop working if I install
  356.                 Open Inventor?
  357. Date: 30 Apr 94 15:45:00 CDT
  358.  
  359.   No. The Inventor 2.0 run-time system (inventor_eoe) contains a
  360.   complete set of compatibility libraries that will allow existing IRIS
  361.   Inventor applications to continue to work. If necessary, it is
  362.   possible to install both the Inventor 2.0 and Inventor 1.1.2
  363.   development environments on the same machine; see the Inventor 2.0
  364.   release notes for details.
  365.  
  366. ------------------------------
  367.  
  368. Subject:   -18- How hard is it to port from IRIS Inventor to Open
  369.                 Inventor?
  370. Date: 30 Apr 94 15:45:00 CDT
  371.  
  372.   Most Inventor programs will be fairly easy to port. The Inventor 2.0
  373.   release notes contain detailed information on converting your
  374.   application. Most of your porting job will be fixing minor syntax
  375.   changes (e.g. some length() methods were renamed getLength() for
  376.   consistency with the rest of the toolkit) and fixing #include lines
  377.   for files under /usr/include/Inventor that were moved around (e.g.
  378.   all of the Xt components are now under /usr/include/Inventor/Xt).
  379.  
  380.   Inventor programs that contain a lot of IRIS GL code or that made
  381.   extensive use of Inventor subclassing will be more difficult to port,
  382.   since they will have to be ported to OpenGL and since the internal
  383.   structure of Inventor underwent some major changes.
  384.  
  385. ------------------------------
  386.  
  387. Subject:   -19- When I compile my Inventor program, I get an error in
  388.                 SoDebugError.h.
  389. Date: 30 Apr 94 15:45:00 CDT
  390.  
  391.   You, or something you #include, are #include'ing the IRIS GL header
  392.   file (gl/gl.h). It does: "#define WARNING 2", which conflicts with
  393.   the enum value called "WARNING" in SoDebugError. You cannot mix Open
  394.   Inventor with IRIS GL anyway (because you cannot mix OpenGL with IRIS
  395.   GL), so you should fix your program so it doesn't try to #include
  396.   <gl/gl.h> it should use <GL/gl.h> the OpenGL include file.
  397.  
  398. ------------------------------
  399.  
  400. Subject:   -20- What version of IRIS Inventor runs on which version of
  401.                 IRIX?
  402. Date: 30 Apr 94 15:45:00 CDT
  403.  
  404.   IRIX      IRIS Inventor Version
  405.   --------------------------------
  406.   3.3.*   | (Inventor is not available for IRIX 3.*)
  407.   4.0.*   | 1.0.1
  408.   5.0.1   | (bad release... do not use)
  409.   5.1.*   | 1.1.2
  410.   5.2.*   | Open Inventor 2.0 (1.1.2 on VGX/GTX/GT/PI)
  411.  
  412. ------------------------------
  413.  
  414. Subject:   -21- Will I be automatically upgraded to Open Inventor if I
  415.                 have IRIS Inventor?
  416. Date: 30 Apr 94 15:45:00 CDT
  417.  
  418.   Customers with software maintenance contracts that have purchased the
  419.   Inventor 1.0 developer's option will receive the Inventor 2.0
  420.   developer's option when they receive IRIX 5.2.
  421.  
  422. ------------------------------
  423.  
  424. Subject:   -22- Why do I get errors compiling the Inventor sample
  425.                 programs?
  426. Date: 30 Apr 94 15:45:00 CDT
  427.  
  428.   Inventor 1.0.1 requires C++ version 2.*. If you have C++ version 3.*
  429.   installed on your system, you must specify the -v2 flag to compile
  430.   Inventor programs.
  431.  
  432.   Inventor 1.1.2 and Inventor 2.0 work with C++ 3.*.
  433.  
  434. ------------------------------
  435.  
  436. End of sgi/faq/inventor Digest
  437. ******************************
  438. -- 
  439. The SGI FAQ group                                sgi-faq@viz.tamu.edu
  440. Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.
  441.  
  442.  
  443.